So, what can Hsoi's App Shell do or show you how to do? Well, we'll skip the general things like application development, human-computer interaction techniques, etc. and just give you a list of the code-type things:
- How to use WASTE, Marco Piovanelli's WorldScript Aware Styled Text Engine as a replacement text engine for TextEdit
- How to use the WASTE Object Handlers (Michael Kamprath's object handling library for WASTE)
- How to impliment Undo
- How to use Gestalt to properly check for system capabilities
- How to use UniversalProcPtr's (both usage and how to create your own!)
- How to have code that works on both 68k and PPC based Macintoshes
- How to read from and write to files
- How to use CustomGet/PutFile routines with your own custom dialog filters
- How to use Aliases and take advantage of the Alias Manager
- How to do alerts
- How to Save, Save As, and Revert files
- How to properly deal with locked files
- How to take advantage of temporary files and FSpExchangeFiles for safe saving techniques
- How to use nifty functions like FindFolder
- How to properly work with resources and the Resource Manager
- How to add name strings to help orphaned document files
- How to do submenus
- How to do dynamic menus (menus created at runtime, like a Windows menu)
- How to properly handle Font, Size, Style, Color menus
- How to handle the required suite of AppleEvents
- How to handle other AppleEvents such as "Get" and "Set" data
- How to have your application be AppleScript savvy
- How to use the TextServices Manager
- How to be WorldScript aware
- How to use the Notification Manager
- How to do modal dialogs and write modal dialog filters
- How to do modeless dialogs and handle them
- How to do movable modal dialogs and handle them
- How to write really nifty dialog filter routines
- How to do About boxes
- How to do Splash Screens
- How to do Registration dialogs
- How to do Progress Bar dialogs
- How to manipulate dialog items
- How to do offscreen graphics worlds (GWorlds) and cool animation
- How to handle windows
- How to properly adjust windows and handle window related events
- How to zoom windows in a way more savvy than the MacOS Toolbox's way.
- How to do and handle scroll bars
- How to properly handle window dragging, a way that is savvy for multi-monitor setups
- How to write callback routines
- How to use and make your application Internet Config savvy
- How to have a Clipboard window
- How to do preferences (and in a very cool way)
- How to print documents
- How to print double-spaced text
- How to impliment margins
- How to successfully and easily get floating point numbers (real numbers) from dialogs
- How to use little arrow up/down icons to add a cool dimension to dialogs
- How to use temporary memory
- How to write VBL Tasks, and ones that work on PowerMacs!
- How to spin your cursor
- How to write on-line help
- How to have embedded objects (PICT's, snd's, HFS objects) in your documents
- How to do drag-and-drop
- How to add sound to your application and your documents
- How to use the Speech Manager to have your application speak!
- How to use the Process Manager to enable your application to launch other applications
- A nifty way to be able to test code and experiment with things without needing to write a full-fledged application.
...and lots more little things that you'll just have to look through the code to find out.